/*
    比较新的差分题目？
    (1) S[bi] - S[ai-1] >= ci
    (2)  s[i + 1] - s[i] >= 0
    就这三个约束慢慢解

    因为在一条数轴上，所以s[i]可以表示0到i放的数字，题中的dis数组
    拿最大端点减去最小端点就可以了
*/
#include<iostream>

using namespace std;

#define inf 60000

class{
    public:
        int l,r;    //区间端点
}inter[50001];

int n;
int dis[50001];
int num[50001];
int low,high;

int main(void){
    while(cin>>n){
        low=0;
        high=inf;
        int a,b;
        for(int i=0;i<n;i++){
            cin>>a>>b>>num[i];  //num[i]为区间约束
            inter[i].l=a;
            inter[i].r=b+1;
            if(low>a)
                low=a;
            if(high<b+1)
                high=b+1;
            dis[i]=0;
        }

        bool flag=true;
        while(flag){    //如果flag没变化，说明松弛结束
            flag=false;
            for(int i=0;i<n;i++){   //约束1
                if(dis[inter[i].l]>dis[inter[i].r]-num[i]){
                    dis[inter[i].l]=dis[inter[i].r]-num[i];
                    flag=true;
                }
            }
            for(int i=low;i<high;i++){  //约束2
                if(dis[i+1]>dis[i]+1){
                    dis[i+1]=dis[i]+1;
                    flag=true;
                }
            }
            for(int i=high-1;i>=low;i--){   //约束3
                if(dis[i]>dis[i+1]){
                    dis[i]=dis[i+1];
                    flag=true;
                }
            }
        }
        cout<<dis[high]-dis[low]<<endl;
    }
    return 0;
}